Hyperparameter Tuning মেশিন লার্নিং মডেলগুলির জন্য একটি গুরুত্বপূর্ণ প্রক্রিয়া, যেখানে মডেলটির পারফরম্যান্স উন্নত করতে বিভিন্ন hyperparameters কে টিউন বা অপটিমাইজ করা হয়। Hyperparameters হলো এমন প্যারামিটার যা মডেল তৈরির আগে নির্ধারণ করতে হয় এবং এটি মডেলের পারফরম্যান্সের ওপর ব্যাপক প্রভাব ফেলে।
Hyperparameter Tuning এর মূল উদ্দেশ্য হলো:
কিছু সাধারণ hyperparameters যেগুলি বিভিন্ন মডেলে টিউন করা হয়:
Grid Search:
from sklearn.model_selection import GridSearchCV
from sklearn.ensemble import RandomForestClassifier
# Hyperparameters to tune
param_grid = {
'n_estimators': [100, 200, 300],
'max_depth': [10, 20, 30]
}
# Grid search
grid_search = GridSearchCV(RandomForestClassifier(), param_grid, cv=5)
grid_search.fit(X_train, y_train)
print("Best parameters:", grid_search.best_params_)
Random Search:
from sklearn.model_selection import RandomizedSearchCV
from scipy.stats import randint
from sklearn.ensemble import RandomForestClassifier
# Hyperparameters to tune
param_dist = {
'n_estimators': randint(100, 1000),
'max_depth': randint(10, 30)
}
# Random search
random_search = RandomizedSearchCV(RandomForestClassifier(), param_distributions=param_dist, n_iter=100, cv=5)
random_search.fit(X_train, y_train)
print("Best parameters:", random_search.best_params_)
Hyperparameter tuning হল মডেলের পারফরম্যান্স বৃদ্ধি করার একটি গুরুত্বপূর্ণ প্রক্রিয়া। বিভিন্ন কৌশল যেমন Grid Search, Random Search, এবং Bayesian Optimization ব্যবহার করে hyperparameters নির্বাচন করা হয়। এটি নিশ্চিত করতে সহায়তা করে যে মডেলটি সঠিকভাবে সাধারণীকরণ করতে সক্ষম এবং overfitting বা underfitting থেকে মুক্ত থাকে।
Read more